A Conservative Data Flow Algorithm for Detecting All Pairs of Statements that May Happen in Parallel for Rendezvous-Based Concurrent Programs
نویسندگان
چکیده
Information about which pairs of statements in a concurrent program can execute in parallel is important for optimizing and debugging programs, for detecting anomalies, and for improving the accuracy of data flow analysis. In this paper, we describe a new data flow algorithm that finds a conservative approximation of the set of all such pairs for programs that use the rendezvous model of communication. We have carried out a comparison of the precision of our algorithm and that of the most precise of the earlier approaches, Masticola and Ryder’s non-concurrency analysis [15], using a sample of 159 concurrent Ada programs that includes the collection assembled by Masticola and Ryder. For these examples, our algorithm was almost always more precise than non-concurrency analysis, in the sense that the set of pairs identified by our algorithm as possibly happening in parallel is a proper subset of the set identified by nonconcurrency analysis. In 140 cases, we were able to use an exponential-time reachability analysis to compute the set of pairs of statements that may happen in parallel. For these cases, there were a total of only 25 pairs identified by our polynomial-time algorithm that were not identified by the reachability analysis. A short version of this paper appeared in the Proceedings of the 6th International Symposium on the Foundations of Software Engineering.
منابع مشابه
Detecting Concurrently Executed Paris of Statements Using Adapted MHP Algorithm
Information about which pairs of statements in a concurrent program can be executed concurrently is important for improving the accuracy of dataflow analysis, optimizing programs, and detecting errors. This paper presents a new method named Concurrent Control Flow Graph for representing concurrent Ada programs in a simple and precise way. Based on this method, we develop an Adapted MHP (May Hap...
متن کاملA Conservative Data Flow Algorithm for Detecting All Pairs of Statements that May Happen in Parallel
Information about which pairs of statements in a con current program can execute in parallel is important for optimizing and debugging programs for detecting anomalies and for improving the accuracy of data ow analysis In this paper we describe a new data ow al gorithm that nds a conservative approximation of the set of all such pairs We have carried out an initial comparison of the precision o...
متن کاملA Conservative Data Flow Algorithm for Detecting All Pairsof
Information about which pairs of statements in a concurrent program can execute in parallel is important for optimizing and debugging programs, for detecting anomalies, and for improving the accuracy of data ow analysis. In this paper, we describe a new data ow algorithm that nds a conservative approximation of the set of all such pairs. We have carried out an initial comparison of the precisio...
متن کاملAn E cient Algorithm for Computing MHP Information for Concurrent Java Programs
Information about which statements in a concurrent program may happen in parallel MHP has a number of important applications It can be used in program optimization debugging program understanding tools improving the accuracy of data ow approaches e g and detecting synchronization anomalies such as data races For example in optimization if it is known that two threads of control will never attem...
متن کاملAn Efficient Algorithm for Computing MHP Information for Concurrent Java Programs
Information about which statements in a concurrent program may happen in parallel (MHP) has a number of important applications. It can be used in program optimization, debugging, program understanding tools, improving the accuracy of data flow approaches, and detecting synchronization anomalies, such as data races. In this paper we propose a data flow algorithm for computing a conservative esti...
متن کامل